package com.cloud.common.annotation;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.loadbalancer.config.BlockingLoadBalancerClientAutoConfiguration;
import org.springframework.cloud.loadbalancer.config.LoadBalancerAutoConfiguration;
import org.springframework.scheduling.annotation.EnableScheduling;

import java.lang.annotation.*;

/**
 * 应用注解
 *
 * @author fengwenjin
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@EnableCaching(order = 1)
@EnableScheduling
@EnableDiscoveryClient
@SpringBootApplication(exclude = {
        LoadBalancerAutoConfiguration.class,
        BlockingLoadBalancerClientAutoConfiguration.class})
public @interface CloudApplication {
}
